/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package lojavirtual.persistence;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import lojavirtual.model.Produto;
import lojavirtual.model.Promocao;
import lojavirtual.util.ConnectionFactory;
import lojavirtual.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.criterion.Subqueries;

/**
 *
 * @author 710930
 */
public class PromocaoDAO implements DAO<Promocao> {

   
    public List<Produto> listarProdutosSemPromocao(){

        List<Produto> produtos;

        DetachedCriteria subCriteria = DetachedCriteria.forClass(Promocao.class);
        subCriteria.setProjection(Projections.property("produto"));

        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
            Criteria criteria = session.createCriteria(Produto.class);
            criteria.add(Subqueries.propertyNotIn("id", subCriteria));
            produtos = criteria.list();
        session.getTransaction().commit();

        return produtos;

    }

    public void inserir(Promocao e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void alterar(Promocao e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<Promocao> listar(Promocao e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void remover(Promocao e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }


}
